草庐IT

c++ - 在 C++11 中实现 boost::optional

全部标签

c++ - 为什么 bcp 会为 Boost program_options 计算这么大的依赖列表?

我正在使用boost/program_options编写一个小程序来处理来自命令行的选项。现在我想将我的代码分发到通常未安装Boost的系统。所以我使用了bcp实用程序。我在来自program_optionstutorial的名为example/first.cpp的Boost示例中尝试了它:bcp--scan--boost=/users2/xxx/boost_1_45_0~/prova/first.cppdest它创建一个目录dest,其中包含大量.hpp和.cpp文件。我想这就是我所需要的,仅此而已。是对的吗?因为:du-hsdest37Mdest37M是不是太多了?例如,我可以使用

C++11 初始化语法问题(使用 gcc 4.5/4.6)

以下C++11代码有什么问题:structS{inta;floatb;};structT{T(Ss){}};intmain(){Tt(S{1,0.1});//ERRORHERE}gcc在指定的行给出错误(我尝试了gcc4.5和gcc4.6的实验版本)这不是有效的C++11,还是gcc的实现不完整?编辑:这里是编译器错误:test.cpp:Infunctionintmain():test.cpp:14:10:error:expected)before{tokentest.cpp:14:10:error:afunction-definitionisnotallowedherebefore{

C++和const reference to temporary binding问题(在C++0X中实现D语言传值传引用规则)

我想知道可以在多大程度上模仿C++中按值传递和按引用传递规则的D语言规则。有关背景,请参阅以下两个引用资料(主要是Alexandrescu):http://bartoszmilewski.wordpress.com/category/d-programming-language/page/2/和http://groups.google.com/group/comp.std.c++/msg/303e3bf2407a7609?其中一个关键区别是,在D中,const引用不绑定(bind)(作为非const引用)到临时对象。但是,我不知道有什么方法可以定义泛型类X,从而导致以下代码无法编译:v

c++ - boost进程间容器适契约(Contract)进程线程共享存储吗?

我需要一个vector容器在同一进程的两个线程之间共享,为以下方法提供互斥保护访问:emptysizeerasepush_back我还希望集合提供一个迭代器,它在使用迭代器时锁定容器。本质上,我正在寻找一个std::vector的集合界面,但具有并发访问保护,但我似乎找不到任何东西。是boost::interprocess适合这种应用的容器?如果没有,是否有更合适的替代方案,还是我必须自己编写? 最佳答案 答案是肯定的——它是合适的。Seehere 关于c++-boost进程间容器适契约

c++ - Boost预编译头文件问题

我尝试预编译Boostheader。第一个实验-使用std::header。我创建文件std.hpp:#include#include//Andotherstd::headers之后:g++std.hpp将std.hpp.gch复制到/usr/include/c++/4.4.5并编写测试程序:#includeintmain(){std::cout工作正常。现在尝试预编译Boostheader。我创建了boost.hpp文件:#include#include之后:g++boost.hpp将boost.hpp.gch复制到/usr/local/include/boost并编写测试程序:#i

c++ - 如何定义和使用 boost::function with "optional arguments"?

我正在使用一个需要某种回调方法的类,所以我正在使用boost::function来存储函数指针。我需要回调有一个可选参数,但我发现boost::function不允许我定义可选参数类型,所以我尝试了以下代码并成功了..//thesecondargumentisoptionaltypedefboost::functionmyHandler;classA{public://handlerwith2argumentsintfoo(intx,char*a){printf("%s\n",a);return0;};//handlerwith1argumentintboo(intx){return1

c++ - boost::asio::streambuf 断言 "iterator out of bounds"

客户端向服务器发送大约165kB的数据。起初一切都很好。但是当客户端再次发送相同的数据(165kB)时,我在服务器端收到一个断言。断言包含有关“迭代器越界”的信息在调用堆栈上,有一些关于read_until方法的信息。所以我认为我犯了一个错误。TCP异步服务器代码如下:handle_read代码:voidSession::handle_read(constboost::system::error_code&a_error,size_ta_nbytestransferred){if(!a_error){std::ostringstreamdataToRetrive;dataToRetri

c++ - 我可以使用 boost 文件系统获取文件属性(隐藏/存档...)吗?

我正在使用boost::filesystem递归地复制一个目录。我想排除隐藏文件。是否可以使用boost文件系统获取FAT32文件属性,如“隐藏”或“存档”?谢谢,菲利普 最佳答案 Boost::filesystem目前仅限于POSIX文件属性。但是,file_status类文档表明可以随时扩展该实现。我猜这只是在等待有动力去做这项工作的人。 关于c++-我可以使用boost文件系统获取文件属性(隐藏/存档...)吗?,我们在StackOverflow上找到一个类似的问题:

c++ - 禁用/W4 boost 警告

如何禁用来自boost库的所有MSVC警告?我知道我可以在它们出现的地方禁用特定的警告等...但是它使我的代码困惑,如果我使用boost宏,那么它们似乎不起作用。我想有一个简单的方法来告诉我的编译器不要给我有关boost的警告。这可能吗?另一方面,令我感到惊讶的是,boost库并未在内部禁用所有这些警告,以便我们的用户可以“开箱即用”地使用它。 最佳答案 他们非常努力地避免警告,但是一些编译器会警告形式上正确的代码,只是有点“可疑”。如果您更改代码以使警告静音,则另一个编译器可能会针对该代码发出警告!Boost代码和各种编译器都有警

微软 Windows 11 24H2 更新命名为“2024 更新”,预计秋季发布

2月21日消息,几周前,微软正式宣布Windows11版本24H2将作为今年下半年重大功能更新推出。虽然官方使用了“24H2”这一技术代号,但微软肯定会为其取一个更易于市场推广的名字。现在,似乎谜底即将揭晓。IT之家注意到,微软更新了“FlightHub”页面,这是一个追踪WindowsInsider预览版的官方页面,涵盖了从Windows10周年更新到Windows11版本24H2的所有主要Windows版本。与前两次Windows11主要版本更新一样,今年的更新也将采用一个简洁明了的名称——Windows112024更新(Windows112024Update)。虽然“Windows112